////成员函数的形参--this
//#include <iostream>
//#include <cstring>
//
//using namespace std;
//
////在当前程序中有两个对象(h/h2)，每个对象内部各有一份成员变量（公有两份成员变量），成员函数只有一份，保存在代码段
///*struct*/
//class Human {
//public:
//    void setInfo(int age = 0, const char *name = "匿名") { //桥梁函数
//        this->m_age = age;
//        strcpy(this->m_name, name);
//    }
//
//    void getInfo() {
//        cout << "姓名：" << m_name << ",年龄" << m_age << endl;
//    }
//
//private:
//    int m_age;
//    char m_name[256];
//};
//
////以上代码模拟类的实现者
////----------------------------------------------------------
////一下代码模拟类的使用者
//int main(void) {
//    Human h;//定义h(给h分配内存空间)
//    //在h所占据的内存空间中定义m_age(给m_age分配内存空间),初始值为随机数
//    //在h所占据的内存空间中定义m_name(给m_name分配内存空间)，初始值为随机数
//
//    cout << sizeof(h) << endl;
//    h.setInfo(20, "张三");
//    h.getInfo();
//    Human h2;//定义h2(给h2分配内存空间)
//    //在h2所占据的内存空间中定义m_age(给m_age分配内存空间),初始值为随机数
//    //在h2所占据的内存空间中定义m_name(给m_name分配内存空间)，初始值为随机数
//    cout << "h2的大小" << sizeof(h2) << endl;
//    h2.setInfo(20, "赵云");
//    h2.getInfo();
//
//    return 0;
//}